iT邦幫忙

2023 iThome 鐵人賽

DAY 25
0
Software Development

Node.js隨手札記 想到什麼就說什麼的系列 第 25

第二十五天 node.js x Sequelize x ORM 第二站

  • 分享至 

  • xImage
  •  

不知道大家有沒有發現昨天有個小麻煩

因為是json檔案,所以我們沒辦法直接引入.env的資料

這樣我們就會明碼紀錄了耶...

這邊我有找到兩個解決方式

我認為比較快速的解決方法之一

直接在製作一個.example檔案,並把真實資料放進gitignore
這樣最省事

解決方法2
是我網路上找到的但一直沒辦法成功,最後再翻文件,跟網路上很多人使用方式不太一樣。總之,我是要提供給大家這個方法嚕


這玩意大概是在說,因為內建是json,但我也可透過一個叫做.sequelizerc的檔案來達到可以讀取js哦

於是我們就跟著做一下

接著

require('dotenv').config()
const fs = require('fs');

module.exports = {
  development: {
    username: process.env.DB_USERNAME,
    password: process.env.DB_PASSWORD,
    database: process.env.DB_DATABASE,
    host: process.env.DB_HOST,
    port: 3306,
    dialect: 'mysql',
    dialectOptions: {
      bigNumberStrings: true
    }
  },
  test: {
    username: process.env.CI_DB_USERNAME,
    password: process.env.CI_DB_PASSWORD,
    database: process.env.CI_DB_NAME,
    host: '127.0.0.1',
    port: 3306,
    dialect: 'mysql',
    dialectOptions: {
      bigNumberStrings: true
    }
  },
  production: {
    username: process.env.PROD_DB_USERNAME,
    password: process.env.PROD_DB_PASSWORD,
    database: process.env.PROD_DB_NAME,
    host: process.env.PROD_DB_HOSTNAME,
    port: process.env.PROD_DB_PORT,
    dialect: 'mysql',
    dialectOptions: {
      bigNumberStrings: true,
      ssl: {
        ca: fs.readFileSync(__dirname + '/config.js')
      }
    }
  }
};

然後把檔案從config.json -> config.js

再把去跑一次

登愣~我們就把.env放進去拉~~

我花了不少時間在找這些東西,不過不確定會不會影響後面的坑,或許直接選用方法一會比較快速

希望也能幫助到你


上一篇
第二十四天 node.js x Sequelize x ORM 第一站
下一篇
第二十六天 node.js x Sequelize x ORM 第三站
系列文
Node.js隨手札記 想到什麼就說什麼的30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言